﻿<?php

/**
 * XML Helper
 * @Design     by KELVIN  
 *             dangtrungkien89@gmail.com
 * @license    : Mimas Group    http://mimas.com.vn
 * @version    : 0.1
 * */


class XmlHelper{
   var $Dom_Object;
   /**
    * Hàm tạo
    * Parameters: 
    *   @xml: đường dẫn tới tệp xml    * 
    */
   function __construct($xml){
        if(!class_exists('simple_html_dom'))
            throw new Exception("class not found");
      $this->Dom_Object = file_get_html($xml);
   }
   
   /**
    * Kiểm tra tồn tại thẻ tag
    * Parameters: 
    *   @tagName: Tên của thẻ tag cần kiểm tra    
    * return: true nếu tồn tại và false nếu ngược lại 
    */
   function HasTag($tagName){
      return ($this->Dom_Object.find($tagName)) ? true : false;
   }
   
   /**
    * Lấy thộc tính của thẻ tag
    * Parameters: 
    *   @tagName: Tên của thẻ tag cần lấy
    *   @attribute: thuộc tính cần lấy
    * return: mảng các giá trị thuộc tính của các thẻ tìm thấy
    */
   function GetAttribute($tagName, $attribute){
      $attributes = array();
      if(is_array($this->Dom_Object->find($tagName))){
         foreach ($this->Dom_Object->find($tagName) as $element){
            $attributes[] = $element->getAttribute($attribute);
         }
      }
      return $attributes;
   }
   
   /**
    * Dặt giá trị cho thộc tính của thẻ tag
    * Parameters: 
    *   @tagName: Tên của thẻ tag cần tìm
    *   @attribute: thuộc tính cần đặt
    *   @value: giá trị cần lưu
    * return: true nếu tìm thấy thẻ tag và false nếu không có thẻ tag nào
    */
   function SetAttribute($tagName, $attribute, $value){
      if(is_array($this->Dom_Object->find($tagName))){
         foreach($this->Dom_Object->find($tagName) as $element){
            //return $element->setAttribute($attribute,$value); chua lam dc
         }
      }
   }
   
   /**
    * Lấy nội dung bên trong thẻ tag
    * Parameters: 
    *   @tagName: Tên của thẻ tag cần tìm
    * return: Nội dung bên trong thẻ tag hoặc null nếu không tìm thấy
    */
   function GetText($tagName){
      if(is_array($this->Dom_Object->find($tagName))){
         foreach($this->Dom_Object->find($tagName) as $element){
            return $element->innertext();
         }
      }
   }
   
   /**
    * Đặt nội dung bên trong thẻ tag
    * Parameters: 
    *   @tagName: Tên của thẻ tag cần tìm
    *   @text: nội dung cần đưa vào thẻ tag
    * return: true nếu tìm thấy thẻ tag và false nếu không có thẻ tag nào
    */
   function SetText($tagName,$text){
      if(is_array($this->Dom_Object->find($tagName))){
         foreach($this->Dom_Object->find($tagName) as $element){
            //chua lam dc
         }
      }
   }
}

?>